﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LeksickiAnalizator
{
    public class ListaUniformnihZnakova
    {
        private List<UniformniZnak> listaUniformnihZnakova = new List<UniformniZnak>();

        public ListaUniformnihZnakova() { }

        /// <summary>
        /// Dodaje uniformni znak
        /// </summary>
        /// <param name="zapis"></param>
        public void DodajUniformniZnak(UniformniZnak zapis)
        {
            zapis.RBr = listaUniformnihZnakova.Count;
            listaUniformnihZnakova.Add(zapis);
        }

        /// <summary>
        /// Dohvaća sve uniformne znakove
        /// </summary>
        /// <returns>enumeracija uniformnih znakova</returns>
        public IEnumerable<UniformniZnak> DohvatiUniformneZnakove()
        {
            foreach (var uniformniZnak in listaUniformnihZnakova)
            {
                yield return uniformniZnak;
            }
        }




    }

    /// <summary>
    /// Predstavlja jedan zapis u tablici uniformnih znakova
    /// </summary>
    public class UniformniZnak
    {
        /// <summary>
        /// Redni broj znaka u listi
        /// </summary>
        public int RBr { get; set; }

        /// <summary>
        /// Uniformni znak
        /// </summary>
        public string UniformniZnak_{ get; set; }

        /// <summary>
        /// Pokazivac na zapis ovog znaka tablici izvornih znakova
        /// </summary>
        public int IndeksUTabliciZnakova { get; set; }

        /// <summary>
        /// Broj reda u kojem je uniformni znak
        /// </summary>
        public int BrojReda { get; set; }
    }
}
